package com.njtoyo.taxi.admin.rest.wrapper.business.ride;

import cn.hutool.core.date.DatePattern;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.njtoyo.taxi.admin.mapper.master.enums.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
public class OrderManageQueryDto {

    @ApiModelProperty("行程订单ID")
    private List<Long> ids;

    @ApiModelProperty("行政区ID")
    private Long cantonId;

    @ApiModelProperty("公司ID")
    private Long companyId;

    private List<Long> cantonIds;

    private List<Long> companyIds;

    @ApiModelProperty("订单状态(线上订单和异常订单)")
    private RideStateState state;

    @ApiModelProperty("订单状态（代驾）")
    private String proxyDrivingState;

    @ApiModelProperty(value = "0:realtime,1:appointment,2:assign")
    //线上订单用
    private RideCategory category;

    @ApiModelProperty("司机")
    private String driverSearch;

    @ApiModelProperty("乘客")
    private String customerSearch;

    @ApiModelProperty("司机ID")
    private Long driverId;

    @ApiModelProperty("乘客ID")
    private Long customerId;

    @ApiModelProperty("下单开始时间")
    @DateTimeFormat(DatePattern.NORM_DATETIME_PATTERN)
    private Date startDate;

    @ApiModelProperty("下单结束时间")
    @DateTimeFormat(DatePattern.NORM_DATETIME_PATTERN)
    private Date endDate;

    @ApiModelProperty("车牌号")
    private String plateNumber;

    //一键叫车
    private List<SimpleCallRideCategory> oneClickCategoryList;

    //助老屏
    private List<SimpleCallRideCategory> oldCategoryList;

    //类型，助老屏和一键叫车使用
    private SimpleCallRideCategory oneClickRideHailingCategory;

    @ApiModelProperty("是否结束")
    private Boolean isFinished;

    @ApiModelProperty("是否已取消")
    private Boolean isCancel;

    @ApiModelProperty("订单状态")
    private String orderState;

    private DesignatedCallState callState;
    private DesignatedRideState rideState;

    //页码
    private Integer pageNum;

    //每页数量
    private Integer pageSize;
}

